// 导入axios
import axios from 'axios'
// 导入vuex
import store from '@/store'
// 导入大数据处理包i
import jsonBig from 'json-bigint'
// 实例化一个axios对象
const request = axios.create({
  baseURL: 'http://toutiao-app.itheima.net', // 基准路径
  timeout: 3000,
  transformResponse: [function (data) {
    try {
      return jsonBig.parse(data)
    } catch (error) {
      return data
    }
  }]
})

// 添加请求拦截器
request.interceptors.request.use(function (config) {
    // 取出user从vuex
    const user = store.state.user
    // 判断是否存在，存在就添加给请求头
    if(user){
        config.headers.Authorization = `Bearer ${user.token}`
    }
    return config;   // 一定要返回config，否则请求拦截不发送
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
request.interceptors.response.use(function (response) {
    return response;   // 一定要return内容
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });


// 暴露这个axios实例
export default request;